package com.xyazm.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xyazm.common.utils.PageUtils;
import com.xyazm.product.entity.CategoryEntity;

import java.util.List;
import java.util.Map;

/**
 * 商品三级分类
 *
 * @author xuyou
 * @email leifengyang@gmail.com
 * @date 2020-06-11 17:15:45
 */
public interface CategoryService extends IService<CategoryEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 获取商品分类集合(包含父子结构)
     * @Title: listWithTree
     * @Description: 
     * @Author xuyou
     * @DateTime 2020年6月18日 上午11:39:32
     * @return
     */
	List<CategoryEntity> listWithTree();
	
	/**
	 * 批量逻辑删除菜单分类
	 * @Title: removeMenuByIds
	 * @Description: 
	 * @Author xuyou
	 * @DateTime 2020年6月19日 上午11:00:14
	 * @param menuIds 
	 */
	void removeMenuByIds(List<Long> menuIds);
	
	/**
	 * 根据三级分类id 寻找所有父节点的分类id
	 * @Title: findCatelogPath
	 * @Description: 
	 * @Author xuyou
	 * @DateTime 2020年6月24日 下午4:28:42
	 * @param catelogId
	 * @return
	 */
	List<Long> findCatelogPath(Long catelogId);

	/**
	 * 更新分类名称时,需要更新关联表的冗余字段
	 * @Title: updateDetail
	 * @Description: 
	 * @Author xuyou
	 * @DateTime 2020年6月25日 下午10:23:05
	 * @param category
	 */
	void updateDetail(CategoryEntity category);
	
}

